www.gusucode.com > VC++ 通过串口收发送消息小例子-源码程序 > VC++ 通过串口收发送消息小例子-源码程序/code/smstest/SettingsDlg.cpp
// SettingsDlg.cpp : implementation file // download by http://www.NewXing.com #include "stdafx.h" #include "SmsTest.h" #include "SettingsDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CSettingsDlg dialog CSettingsDlg::CSettingsDlg(CWnd* pParent /*=NULL*/) : CDialog(CSettingsDlg::IDD, pParent) { //{{AFX_DATA_INIT(CSettingsDlg) m_strSmsc = _T(""); //}}AFX_DATA_INIT } void CSettingsDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CSettingsDlg) DDX_Control(pDX, IDC_RATE_LIST, m_ctrlRateList); DDX_Control(pDX, IDC_COMM_LIST, m_ctrlCommList); DDX_Text(pDX, IDC_SMSC, m_strSmsc); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CSettingsDlg, CDialog) //{{AFX_MSG_MAP(CSettingsDlg) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CSettingsDlg message handlers BOOL CSettingsDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here CString strComm; for(int i=0; i<9; i++) { strComm.Format("COM%d", i + 1); m_ctrlCommList.AddString(strComm); } m_ctrlRateList.AddString("9600"); m_ctrlRateList.AddString("14400"); m_ctrlRateList.AddString("19200"); m_ctrlRateList.AddString("28800"); m_ctrlRateList.AddString("38400"); m_ctrlRateList.AddString("57600"); m_ctrlRateList.AddString("115200"); if(m_strPort.IsEmpty()) m_strPort="COM3"; if(m_strRate.IsEmpty()) m_strRate="57600"; m_ctrlCommList.SelectString(-1, m_strPort); m_ctrlRateList.SelectString(-1, m_strRate); m_strSmsc="13800311500"; UpdateData(false); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CSettingsDlg::OnOK() { UpdateData(); int nSel; nSel=m_ctrlCommList.GetCurSel(); if(nSel>-1) { m_ctrlCommList.GetLBText(nSel,m_strPort); } else { nSel=m_ctrlRateList.GetCurSel(); if(nSel>-1) { m_ctrlRateList.GetLBText(nSel,m_strRate); } else { if(m_strPort.IsEmpty()||m_strRate.IsEmpty()||m_strSmsc.IsEmpty()) { AfxMessageBox("请正确设置端口和SMSC!"); return; } } } CDialog::OnOK(); } void CSettingsDlg::OnCancel() { ::PostMessage(GetParent()->m_hWnd,WM_CLOSE,0,0); CDialog::OnCancel(); }